#ifndef _PARSE_
#define _PARSE_

#include <stdlib.h>
#include <string.h>

#define DPF_null -1
#define DPF_fld 0
#define DPF_map 1
#define DPF_move 2
#define DPF_flex 3

const char keyword[][10]={"fld","map","move","flexres",""};

const char atmName[][10]={"H","HD","HS","C","A","N","NA","NS","OA","OS","F","MG","P","SA","S","CL","CA","MN","FE","ZN","BR","I","Z","G","GA","J","Q"};
const float radius[]={2.00,2.00,2.00,4.00,4.00,3.50,3.50,3.50,3.20,3.20,3.09,1.30,4.20,4.00,4.00,4.09,1.98,1.30,1.30,1.48,4.33,4.72,4.00,4.00,4.00,4.00,4.00};
const float eps[]={0.020,0.020,0.020,0.150,0.150,0.160,0.160,0.160,0.200,0.200,0.080,0.875,0.200,0.200,0.200,0.276,0.550,0.875,0.010,0.550,0.389,0.550,0.150,0.150,0.150,0.150,0.150};
const float vol[]={0.0000,0.0000,0.0000,33.5103,33.5103,22.4493,22.4493,22.4493,17.1573,17.1573,15.4480,1.5600,38.7924,33.5103,33.5103,35.8235,2.7700,2.1400,1.8400,1.7000,42.5661,55.0585,33.5103,33.5103,33.5103,33.5103,33.5103};
const float solpar[]={0.00051,0.00051,0.00051,-0.00143,-0.00052,-0.00162,-0.00162,-0.00162,-0.00251,-0.00251,-0.00110,-0.00110,-0.00110,-0.00214,-0.00214,-0.00110,-0.00110,-0.00110,-0.00110,-0.00110,-0.00110,-0.00110,-0.00143,-0.00143,-0.00052,-0.00143,-0.00143};
const float radius_hb[]={0.00,0.00,0.00,0.00,0.00,0.00,1.90,1.90,1.90,1.90,0.00,0.00,0.00,2.50,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00};
const float eps_hb[]={0.00,0.00,0.00,0.00,0.00,0.00,5.00,5.00,5.00,5.00,0.00,0.00,0.00,1.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00};
const short hbond[]={0,2,1,0,0,0,4,3,5,3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0};
const short bondType[]={3,3,3,0,0,1,1,1,2,2,4,4,5,6,6,4,4,4,4,4,4,4,0,0,0,0,0};

int parse_dpf(char * );
int getIDX(char * );
int getType(char * );


#endif


